demos: Generate appdata
authorMatthias Clasen <mclasen@redhat.com>
Tue, 1 Jun 2021 12:16:27 +0000 (08:16 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 1 Jun 2021 19:36:33 +0000 (15:36 -0400)
We don't maintain a release history here, but at least
we can put in the right version and date for the current
build.

Fixes: #3993
demos/gtk-demo/meson.build
demos/gtk-demo/org.gtk.Demo4.appdata.xml [deleted file]
demos/gtk-demo/org.gtk.Demo4.appdata.xml.in [new file with mode: 0644]
demos/icon-browser/meson.build
demos/icon-browser/org.gtk.IconBrowser4.appdata.xml [deleted file]
demos/icon-browser/org.gtk.IconBrowser4.appdata.xml.in [new file with mode: 0644]
demos/meson.build
demos/widget-factory/meson.build
demos/widget-factory/org.gtk.WidgetFactory4.appdata.xml [deleted file]
demos/widget-factory/org.gtk.WidgetFactory4.appdata.xml.in [new file with mode: 0644]

index abfe033df4075adc5fb9540d183692d4ae814faa..24e4abe05dd83e7892dbdd5653585066fed94d79 100644 (file)
@@ -205,4 +205,9 @@ install_data('org.gtk.Demo4.gschema.xml', install_dir: gtk_schemasdir)
 gnome.compile_schemas()
 
 # appdata
-install_data('org.gtk.Demo4.appdata.xml', install_dir: gtk_appdatadir)
+configure_file(
+  input: 'org.gtk.Demo4.appdata.xml.in',
+  output: 'org.gtk.Demo4.appdata.xml',
+  configuration: appdata_config,
+  install_dir: gtk_appdatadir
+)
diff --git a/demos/gtk-demo/org.gtk.Demo4.appdata.xml b/demos/gtk-demo/org.gtk.Demo4.appdata.xml
deleted file mode 100644 (file)
index f102eb7..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component type="desktop">
-  <id>org.gtk.Demo4.desktop</id>
-  <metadata_license>CC0-1.0</metadata_license>
-  <project_license>LGPL-2.0+</project_license>
-  <name>GTK Demo</name>
-  <summary>Program to demonstrate GTK functions</summary>
-  <description>
-    <p>
-      GTK Demo is a collection of examples that demonstrate the major
-      features of the GTK toolkit.
-    </p>
-  </description>
-  <screenshots>
-    <screenshot>
-      <image>https://static.gnome.org/appdata/gtk4-demo/gtk-demo1.png</image>
-      <caption>The main window</caption>
-    </screenshot>
-    <screenshot>
-      <image>https://static.gnome.org/appdata/gtk4-demo/gtk-demo2.png</image>
-      <caption>An example</caption>
-    </screenshot>
-  </screenshots>
-  <kudos>
-    <kudo>AppMenu</kudo>
-    <kudo>HiDpiIcon</kudo>
-    <kudo>ModernToolkit</kudo>
-  </kudos>
-  <url type="homepage">https://www.gtk.org</url>
-  <translation type="gettext">gtk-4.0</translation>
-  <update_contact>matthias.clasen_at_gmail.com</update_contact>
-  <developer_name>Matthias Clasen and others</developer_name>
-  <releases>
-    <release version="3.99.0" date="2020-07-30">
-      <description>
-        <p>A new developers snapshot towards GTK 4.0.</p>
-      </description>
-    </release>
-    <release version="3.94.0" date="2018-06-25">
-      <description>
-        <p>A new developers snapshot towards GTK 4.0.</p>
-      </description>
-    </release>
-  </releases>
-</component>
diff --git a/demos/gtk-demo/org.gtk.Demo4.appdata.xml.in b/demos/gtk-demo/org.gtk.Demo4.appdata.xml.in
new file mode 100644 (file)
index 0000000..7aa94b8
--- /dev/null
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<component type="desktop">
+  <id>org.gtk.Demo4.desktop</id>
+  <metadata_license>CC0-1.0</metadata_license>
+  <project_license>LGPL-2.0+</project_license>
+  <name>GTK Demo</name>
+  <summary>Program to demonstrate GTK functions</summary>
+  <description>
+    <p>
+      GTK Demo is a collection of examples that demonstrate the major
+      features of the GTK toolkit.
+    </p>
+  </description>
+  <screenshots>
+    <screenshot>
+      <image>https://static.gnome.org/appdata/gtk4-demo/gtk-demo1.png</image>
+      <caption>The main window</caption>
+    </screenshot>
+    <screenshot>
+      <image>https://static.gnome.org/appdata/gtk4-demo/gtk-demo2.png</image>
+      <caption>An example</caption>
+    </screenshot>
+  </screenshots>
+  <kudos>
+    <kudo>AppMenu</kudo>
+    <kudo>HiDpiIcon</kudo>
+    <kudo>ModernToolkit</kudo>
+  </kudos>
+  <url type="homepage">https://www.gtk.org</url>
+  <translation type="gettext">gtk-4.0</translation>
+  <update_contact>matthias.clasen_at_gmail.com</update_contact>
+  <developer_name>Matthias Clasen and others</developer_name>
+  <releases>
+    <release version="@BUILD_VERSION@" date="@BUILD_DATE@">
+      <description>
+        <p>A new build of GTK.</p>
+      </description>
+    </release>
+  </releases>
+</component>
index 3922811f927c457ee9e2213b14dadd1d1d959e6e..9c7ddb99de0cb42ff017b8e662481ff8537cdbad 100644 (file)
@@ -32,5 +32,10 @@ endforeach
 install_data('org.gtk.IconBrowser4.desktop', install_dir: gtk_applicationsdir)
 
 # appdata
-install_data('org.gtk.IconBrowser4.appdata.xml', install_dir: gtk_appdatadir)
+configure_file(
+  input: 'org.gtk.IconBrowser4.appdata.xml.in',
+  output: 'org.gtk.IconBrowser4.appdata.xml',
+  configuration: appdata_config,
+  install_dir: gtk_appdatadir
+)
 
diff --git a/demos/icon-browser/org.gtk.IconBrowser4.appdata.xml b/demos/icon-browser/org.gtk.IconBrowser4.appdata.xml
deleted file mode 100644 (file)
index 8ae3f25..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component type="desktop">
-  <id>org.gtk.IconBrowser4.desktop</id>
-  <metadata_license>CC0-1.0</metadata_license>
-  <project_license>LGPL-2.0+</project_license>
-  <name>GTK Icon Browser</name>
-  <summary>Program to browse themed icons</summary>
-  <description>
-    <p>
-      GTK Icon Browser is a simple application to show themed icons that
-      are available on the system.
-    </p>
-  </description>
-  <screenshots>
-    <screenshot>
-      <image>https://static.gnome.org/appdata/gtk4-icon-browser/gtk-icon-browser1.png</image>
-      <caption>Icon Browser</caption>
-    </screenshot>
-    <screenshot>
-      <image>https://static.gnome.org/appdata/gtk4-icon-browser/gtk-icon-browser2.png</image>
-      <caption>Search</caption>
-    </screenshot>
-  </screenshots>
-  <kudos>
-    <kudo>HiDpiIcon</kudo>
-    <kudo>ModernToolkit</kudo>
-  </kudos>
-  <url type="homepage">https://www.gtk.org</url>
-  <translation type="gettext">gtk-4.0</translation>
-  <update_contact>matthias.clasen_at_gmail.com</update_contact>
-  <developer_name>Matthias Clasen and others</developer_name>
-  <releases>
-    <release version="3.99.0" date="2020-07-30">
-      <description>
-        <p>A new developers snapshot towards GTK 4.0.</p>
-      </description>
-    </release>
-    <release version="3.94.0" date="2018-06-25">
-      <description>
-        <p>A new developers snapshot towards GTK 4.0.</p>
-      </description>
-    </release>
-  </releases>
-</component>
diff --git a/demos/icon-browser/org.gtk.IconBrowser4.appdata.xml.in b/demos/icon-browser/org.gtk.IconBrowser4.appdata.xml.in
new file mode 100644 (file)
index 0000000..d5c8bac
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<component type="desktop">
+  <id>org.gtk.IconBrowser4.desktop</id>
+  <metadata_license>CC0-1.0</metadata_license>
+  <project_license>LGPL-2.0+</project_license>
+  <name>GTK Icon Browser</name>
+  <summary>Program to browse themed icons</summary>
+  <description>
+    <p>
+      GTK Icon Browser is a simple application to show themed icons that
+      are available on the system.
+    </p>
+  </description>
+  <screenshots>
+    <screenshot>
+      <image>https://static.gnome.org/appdata/gtk4-icon-browser/gtk-icon-browser1.png</image>
+      <caption>Icon Browser</caption>
+    </screenshot>
+    <screenshot>
+      <image>https://static.gnome.org/appdata/gtk4-icon-browser/gtk-icon-browser2.png</image>
+      <caption>Search</caption>
+    </screenshot>
+  </screenshots>
+  <kudos>
+    <kudo>HiDpiIcon</kudo>
+    <kudo>ModernToolkit</kudo>
+  </kudos>
+  <url type="homepage">https://www.gtk.org</url>
+  <translation type="gettext">gtk-4.0</translation>
+  <update_contact>matthias.clasen_at_gmail.com</update_contact>
+  <developer_name>Matthias Clasen and others</developer_name>
+  <releases>
+    <release version="@BUILD_VERSION@" date="@BUILD_DATE@">
+      <description>
+        <p>A new build of GTK.</p>
+      </description>
+    </release>
+  </releases>
+</component>
index 5b68828eef7f6cd419e678e7c54c9baff3a2641e..de720925f6cd49a52f0e2dfd0bd7b1e2530293a3 100644 (file)
@@ -11,6 +11,21 @@ demo_conf_h = declare_dependency(
   )
 )
 
+# appdata
+today = 'unknown'
+date = find_program('date',
+         required: false)
+if date.found()
+  r = run_command(date, '-I')
+  if r.returncode() == 0
+    today = r.stdout().strip()
+  endif
+endif
+
+appdata_config = configuration_data()
+appdata_config.set('BUILD_VERSION', meson.project_version())
+appdata_config.set('BUILD_DATE', today)
+
 subdir('constraint-editor')
 subdir('gtk-demo')
 subdir('icon-browser')
index e248963e24238ab5b7c67534e0f0d05f88417388..1cebd4adc56adb2fdfb34c3a3e72d96bc01828bf 100644 (file)
@@ -26,4 +26,9 @@ foreach size: ['scalable', 'symbolic']
 endforeach
 
 # appdata
-install_data('org.gtk.WidgetFactory4.appdata.xml', install_dir: gtk_appdatadir)
+configure_file(
+  input: 'org.gtk.WidgetFactory4.appdata.xml.in',
+  output: 'org.gtk.WidgetFactory4.appdata.xml',
+  configuration: appdata_config,
+  install_dir: gtk_appdatadir
+)
diff --git a/demos/widget-factory/org.gtk.WidgetFactory4.appdata.xml b/demos/widget-factory/org.gtk.WidgetFactory4.appdata.xml
deleted file mode 100644 (file)
index b3e9889..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component type="desktop">
-  <id>org.gtk.WidgetFactory4.desktop</id>
-  <metadata_license>CC0-1.0</metadata_license>
-  <project_license>LGPL-2.0+</project_license>
-  <name>GTK Widget Factory</name>
-  <summary>Program to demonstrate GTK functions</summary>
-  <description>
-    <p>
-      GTK Widget Factory is a showcase of GTK widgets. It was
-      originally created to help theme authors test their creations
-      for completeness.
-    </p>
-  </description>
-  <screenshots>
-    <screenshot>
-      <image>https://static.gnome.org/appdata/gtk4-widget-factory/gtk-widget-factory1.png</image>
-      <caption>Page 1</caption>
-    </screenshot>
-    <screenshot>
-      <image>https://static.gnome.org/appdata/gtk4-widget-factory/gtk-widget-factory2.png</image>
-      <caption>Page 3</caption>
-    </screenshot>
-  </screenshots>
-  <kudos>
-    <kudo>AppMenu</kudo>
-    <kudo>HiDpiIcon</kudo>
-    <kudo>ModernToolkit</kudo>
-  </kudos>
-  <url type="homepage">https://www.gtk.org</url>
-  <translation type="gettext">gtk-4.0</translation>
-  <update_contact>matthias.clasen_at_gmail.com</update_contact>
-  <developer_name>Matthias Clasen and others</developer_name>
-  <releases>
-    <release version="3.99.0" date="2020-07-30">
-      <description>
-        <p>A new developers snapshot towards GTK 4.0.</p>
-      </description>
-    </release>
-    <release version="3.94.0" date="2018-06-25">
-      <description>
-        <p>A new developers snapshot towards GTK 4.0.</p>
-      </description>
-    </release>
-  </releases>
-</component>
diff --git a/demos/widget-factory/org.gtk.WidgetFactory4.appdata.xml.in b/demos/widget-factory/org.gtk.WidgetFactory4.appdata.xml.in
new file mode 100644 (file)
index 0000000..60e30a7
--- /dev/null
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<component type="desktop">
+  <id>org.gtk.WidgetFactory4.desktop</id>
+  <metadata_license>CC0-1.0</metadata_license>
+  <project_license>LGPL-2.0+</project_license>
+  <name>GTK Widget Factory</name>
+  <summary>Program to demonstrate GTK functions</summary>
+  <description>
+    <p>
+      GTK Widget Factory is a showcase of GTK widgets. It was
+      originally created to help theme authors test their creations
+      for completeness.
+    </p>
+  </description>
+  <screenshots>
+    <screenshot>
+      <image>https://static.gnome.org/appdata/gtk4-widget-factory/gtk-widget-factory1.png</image>
+      <caption>Page 1</caption>
+    </screenshot>
+    <screenshot>
+      <image>https://static.gnome.org/appdata/gtk4-widget-factory/gtk-widget-factory2.png</image>
+      <caption>Page 3</caption>
+    </screenshot>
+  </screenshots>
+  <kudos>
+    <kudo>AppMenu</kudo>
+    <kudo>HiDpiIcon</kudo>
+    <kudo>ModernToolkit</kudo>
+  </kudos>
+  <url type="homepage">https://www.gtk.org</url>
+  <translation type="gettext">gtk-4.0</translation>
+  <update_contact>matthias.clasen_at_gmail.com</update_contact>
+  <developer_name>Matthias Clasen and others</developer_name>
+  <releases>
+    <release version="@BUILD_VERSION@" date="@BUILD_DATE@">
+      <description>
+        <p>A new build of GTK.</p>
+      </description>
+    </release>
+  </releases>
+</component>